Today, there is a desire by many individuals, organizations, and businesses to protect their rights to media content that they produce from improper copying, and/or distribution. At least some of these desires arise in part because these individuals, organizations, and/or businesses are at least in part dependent upon revenue generated from their media content. Such media content may include virtually any format or form, including songs, videos, images, documents, games, books, articles, and/or other audio content, to name just a few examples of media content that some parties may wish to protect.
One class of solutions that has been implemented to attempt to address this desire is known as Digital Rights Management (DRM). Briefly, DRMs provide access control technologies used by publishers, copyright holders, and others to control their media content after it is given to a consumer, from improper access, copying, and/or distribution.
However, there are a large number of these DRM solutions available and in use by various media content distributors, media player manufacturers, and so forth. Moreover, a user of their client device often downloads and installs a variety of different DRM solutions, whether intentionally, along with other software, or because a website that they may visit requires such downloads. The result is that each client device may have vastly different DRM solutions on their client device. Moreover, even within a given DRM solution, user client devices may have vastly different versions of DRM solutions with vastly different capabilities, and/or constraints.
Additionally, content provided over a network, may be encrypted using any of a variety of different encryption mechanisms, and even encapsulated using any of a variety of different formats, sometimes called containers. When the possible combinations of DRM solutions, encryption mechanisms, and/or container formats are considered, a content provider may have significant difficulties in determining how to package and provide their protected content to a client device, that may then negotiate decryption keys and/or DRM licenses, decrypt the content, and then successfully play the protected content. However, failure to address this plethora of different configurations might result in the content provider being unable to provide playable content to the client device, and therefore, potentially losing revenue. Thus, it is with respect to these considerations and others that the present invention has been made.